package com.yigang.dao;

import com.yigang.entity.Shoppingcart;
import com.yigang.entity.ShoppingcartVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * mapper
 *
 * @author hanyc
 */
public interface ShoppingcartMapper {
    /**
     * 插入
     *
     * @param entity 实体
     * @return 影响行数
     */
    int insert(Shoppingcart entity);

    /**
     * 按id获取
     *
     * @param id id
     * @return 实体
     */
    Shoppingcart getById(@Param("id") Integer id);

    /**
     * 更新
     *
     * @param entity 实体
     * @return 影响行数
     */
    int update(Shoppingcart entity);

    /**
     * 删除
     *
     * @param id id
     * @return 影响行数
     */
    int delete(Long id);

    /**
     * 按条件获取列表
     *
     * @param entity 过滤条件
     * @return 列表
     */
    List<Shoppingcart> findList(Shoppingcart entity);

    /**
     * 按条件获取列表
     *
     * @param param 过滤条件
     * @return 列表
     */
    List<Shoppingcart> findList(Map<String, Object> param);

    /**
     * 清空购物车
     *
     * @param id
     * @return
     */
    int deleteAll(String id);

    Shoppingcart getByproductId(Integer valueOf);

    /**
     * 查询当前任是否已经添加购物车
     *
     * @param id
     * @param productId
     * @return
     */
    Shoppingcart getByProductIdAndUserId(@Param("id") int id, @Param("productId") Integer productId);

    /**
     * 购车车商品列表
     *
     * @param shopingCart
     * @return
     */
    List<ShoppingcartVO> getAllShoppingcart(Shoppingcart shopingCart);
}
